草庐IT

SQL 语句

全部标签

c# - 选择查询以从 SQL Server 获取数据

我正在尝试在我的C#代码中运行SQLSelect查询。但我总是在上得到-1输出intresult=command.ExecuteNonQuery();但是,如果我将同一张表用于delete或insert则可以...ConnectString也可以。请检查下面的代码SqlConnectionconn=newSqlConnection("DataSource=;InitialCatalog=;PersistSecurityInfo=True;UserID=;Password=");conn.Open();SqlCommandcommand=newSqlCommand("Selectidfr

c# - 将大括号与单行 "if"语句的语句放在同一行是否是一种错误的形式?

所以我知道总是在if、for等中包含花括号被认为是一种很好的做法,即使如果只有一个后续语句它们是可选的,因为它更容易不小心做类似的事情:if(something==true)DoSomething();DoSomethingElse();如果不放大括号,快速编辑代码时。但是像这样的事情呢:if(something==true){DoSomething();}这样你仍然会占用更少的行(IMO提高了可读性)但仍然不太可能从上面不小心犯错误?我问是因为我不相信我以前见过这种风格的if或循环,但我确实看到它用于C#属性中的getter和setter,例如:publicstringName{ge

c# - 检查 switch 语句中是否缺少默认情况

对于ReSharper6.1,没有针对C#开关中缺少默认语句的内置检查项,但自定义模式似乎总体上是可靠的。对于ifblock缺少else语句之类的情况,我已经对它们进行了一些处理,但我不确定如何检查是否缺少默认值。这是我目前所拥有的:搜索模式switch($expr$){case$val$:$statement$break;$missingDefault$}替换模式switch($expr$){case$val$:$statement$break;default:break;}其中$expr$是一个表达式,$val是一个表达式,$statement$是任意数量的语句,$missingD

c# - 程序集是在 SQL Server 中运行还是从 Windows 应用程序运行

如何确定程序集是从SQL服务器CLR存储过程运行还是从Windows应用程序运行? 最佳答案 查看SqlContext.IsAvailable 关于c#-程序集是在SQLServer中运行还是从Windows应用程序运行,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4470783/

c# - 列表的加入语句

我在C#和ASP.net中有一个表,该表引用了另一个表的列表,其中多个车辆注册人映射到单个车辆。我不想通过访问他们的个人成员(例如vehicleRegistrantsAlias[0])来遍历整个车辆注册人集合,因为我不知道会有多少人。我需要在两个查询中执行此操作吗?我真的很想一次完成所有这些。我有父类作为车辆和车辆注册人的子集合。车辆登记人是一个基本类型,车辆登记人是所有者和运算符(operator)。我还想从其他子表中提取信息。我正在从一个车辆加入到另一个车辆注册人,效果很好;不过,我也想拉主人和运算符(operator)。VehiclevehicleAlias=null;Listv

读SQL进阶教程笔记14_SQL编程要点

1. 消灭NULL1.1. NULL惹人讨厌的原因1.1.1. 进行SQL编码时,必须考虑违反人类直觉的三值逻辑1.1.2. 指定ISNULL、ISNOTNULL的时候,不会用到索引,SQL语句执行起来性能低下1.1.2.1.1+NULL=NULL2-NULL=NULL3*NULL=NULL4/NULL=NULLNULL/0=NULL1.1.3. 四则运算以及SQL函数的参数中包含NULL,会引起“NULL的传播”1.1.4. 接收SQL查询结果的宿主语言中,NULL的处理方法没有统一标准1.1.4.1. Oracle不区分空字符串和NULL1.1.4.2. VisualBasic是区分的1.

c# - 为什么下面的 linq to sql 查询会生成一个子查询?

我做了以下查询:varlist=frombookinbookswherebook.price>50selectbook;list=list.Take(50);我希望上面的代码生成如下内容:SELECTtop50id,title,price,authorFROMBooksWHEREprice>50但它会生成:SELECT[Limit1].[C1]as[C1][Limit1].[id]as[Id],[Limit1].[title]as[title],[Limit1].[price]as[price],[Limit1].[author]FROM(SELECTTOP(50)[Extent1].

c# - 如何使用 LINQ to SQL/ADO.NET 获取执行计划

是否可以通过编程方式获取LINQtoSQL或ADO.NET查询的执行计划以显示在调试信息中?如果是,怎么办? 最佳答案 当然,您需要两样东西。DbConnection、DbCommand和DbDataReader的自定义实现。您可以使用它来拦截所有发送到数据库的SQL。您基本上设置了它,所以您有一个记录所有运行的SQL的层。(我们计划在未来几个月内开源这方面的东西,敬请期待)一种显示数据意义的方法,恰好在这里是开源的:https://data.stackexchange.com/stackoverflow/s/345/how-uns

c# - 是否有将 T-SQL 存储过程转换为 C# 的工具?

关闭。这个问题不满足StackOverflowguidelines.它目前不接受答案。想改善这个问题吗?更新问题,使其成为on-topic对于堆栈溢出。去年关闭。Improvethisquestion2017年更新:实际上,答案是不,即使有,您也应该非常谨慎地使用它.实际上只有两种方法可以解决这个问题:a)咬紧牙关,手动和煞费苦心地转换所有内容,并使用某种验证方法来检查一切是否继续按预期运行,例如单元/回归测试。使用Linqer之类的工具(如果可用)作为帮助来解决部分问题。b)从头开始​​。没有选项c)可以让其他东西整齐和自动地处理所有事情,并且它不可能涵盖所有情况。有很多T-SQL可

c# - 当 dbContext 带有 'using' block 时,如何从 Linq 返回 IQueryable 到 SQL 查询?

我一直在使用“使用”block进行编码,但我想知道我是否可以从以下返回一个IQueryable而无需在我访问它之前处理该对象。publicIQueryableGetContacts(stringclientID){using(dbDataContextdb=newdbDataContext()){varcontacts=from_contactsindb.Contactswhere_contacts.ClientID==clientIDorderby_contacts.LastNameascendingselect_contacts;returncontacts;}}我是简单地删除“u